#ifndef CMD_NWK_H
#define CMD_NWK_H

/* MACRO */
#define ZDP_NWK_ADDR            0x0000
#define ZDP_IEEE_ADDR           0x0001
#define ZDP_NODE_DESC           0x0002
//#define ZDP_POWER_DESC          0x0003
#define ZDP_SIMPLE_DESC         0x0004
#define ZDP_ACTIVE_EP           0x0005
//#define ZDP_MATCH_DESC          0x0006

#define ZDP_BIND                0x0021
#define ZDP_UNBIND              0x0022

#define ZDP_NWK_DISC            0x0030
#define ZDP_LQI_TABLE           0x0031
#define ZDP_RTG_TABLE           0x0032
#define ZDP_BIND_TABLE          0x0033
#define ZDP_LEAVE               0x0034

/* CONST */


/* global function*/
//void cmdZdp_CmdOutput(uint16_t cmd, uint16_t nodeId, uint8_t status, uint8_t handle, uint8_t len, uint8_t* data);
void cmdZdp_SeqTablePoll(void);

//ZDP Response
void cmdZdp_NwkAddrRsp(ZDO_NwkIEEEAddrResp_t rsp);
void cmdZdp_IeeeAddrRsp(ZDO_NwkIEEEAddrResp_t rsp);
void cmdZdp_SimpleDescRsp(ZDO_SimpleDescRsp_t rsp);
void cmdZdp_ActiveEpRsp(ZDO_ActiveEndpointRsp_t* pRsp);
void cmdZdp_BindRsp(uint16 nwkAddr, uint8 seqNum, uint8 status);
void cmdZdp_UnbindRsp(uint16 nwkAddr, uint8 seqNum, uint8 status);
void cmdZdp_BindTableRsp(uint16 nwkAddr, ZDO_MgmtBindRsp_t* pRsp);
void cmdZdp_LeaveRsp(uint16 nwkAddr, uint8 seqNum, uint8 status);

#endif
